//
//  RBTimerButton.h
//  RBTimerButton
//
//  Created by Ran on 16/4/18.
//  Copyright © 2016年 Justice. All rights reserved.
//

#import <UIKit/UIKit.h>
extern NSString *const RB_DEFAULT_PHONE_TIMER_KEY;
extern NSString *const RB_DEFAULT_MAIL_TIMER_KEY;

@interface RBTimerButton : UIButton

/**
 使用:
 1.设置customSettingBlock(可选)
 2.config
 3.点击按钮调用startTimer(RBTimerButton自动控制enabled属性)
 */

/*
 * 设置下block,也可以不设置,有默认值
 * 可以自定义文字和不同状态下button样式
 * cd:距离下次可以点击的时间
 * countingDown:是否在倒计时状态中
 */
@property(nonatomic, copy)void(^customSettingBlock)(RBTimerButton *btn, NSTimeInterval cdF, NSInteger cdI, BOOL countingDown);
/*
 * 设置block后调用这个
 */
- (void)config;
/*
 * 点击按钮,调用这个开始倒计时
 */
- (void)startTimer;



//可能用到的属性
/**
 * 用于倒计时的字符串,可以随便写,默认RB_DEFAULT_PHONE_TIMER_KEY,
 * 同一个timerKey共享发送短信冷却时长
 */
@property(nonatomic, copy)NSString *timerKey;
/**
 *  倒计时时长,默认60s
 */
@property(nonatomic, assign)NSTimeInterval maxTimeInterval;

//基本用不到的属性
- (BOOL)hasReachedMaxTimeInterval;
- (void)restartTimer;
- (void)stopTimer;
@property(nonatomic, readonly)CADisplayLink *displayLink;

@end
